package com.bringway.p2p.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

/**  
 * @类名 p2pHplanService  
 * @功能 TODO  H计划Service层接口
 * @作者 js 
 * @日期 2017年4月18日 上午10:54:50  
 *    
 */
public interface P2pHplanService {
	
	/**
	 * @作者 js  
	 * @方法名 listXmSq  
	 * @功能 TODO 获取组合项目发标申请列表
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> listXmSq(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 getXmSqCount  
	 * @功能 TODO 获取组合项目发标申请列表 分页总记录数
	 * @param params
	 * @return
	 */
	int getXmSqCount(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 listXmKu  
	 * @功能 TODO 获取项目库列表
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> listXmKu(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 getXmKuCount  
	 * @功能 TODO 获取项目库列表 分页总记录数
	 * @param params
	 * @return
	 */
	int getXmKuCount(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 saveXmSq  
	 * @功能 TODO 保存组合项目申请
	 * @param params
	 * @return
	 */
	JSONObject saveXmSq(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 listKuByXmId  
	 * @功能 TODO 获取组合标的选择的项目列表
	 * @param xmId
	 * @return
	 */
	List<Map<String, Object>> listKuByXmId(String xmId);
	/**
	 * @作者 js  
	 * @方法名 getKuByXmIdCount  
	 * @功能 TODO 获取组合标的选择的项目列表 分页总记录数
	 * @param xmId
	 * @return
	 */
	int getKuByXmIdCount(String xmId);
	/**
	 * @作者 js  
	 * @方法名 saveXmSh  
	 * @功能 TODO 保存项目审核
	 * @param params
	 * @return
	 */
	JSONObject saveXmSh(JSONObject params);
	/**
	 * 查询Hj计划申请数据
	 * */
    List queryHplanList(JSONObject params);
    /**
	 * 查询Hj计划申请数据总数
	 * */   
	int getHplanCount(JSONObject params);
	/**
	 * 根据月算天数
	 * */  
	int getQxDayByQxMonth(String qxMonth);
	/**
	 * 保存草稿标
	 * */  
	String saveHplan(JSONObject params);
	/**
	 * 审核结果保存
	 * */
	JSONObject saveShplan(JSONObject params);
	/**
	 * H组合计划项目查询
	 * */
	List<Map<String, Object>> queryHzhjh(JSONObject params);
    /**
 	 *H组合计划项目查询数据总数
 	 * */   
 	int getHzhjhCount(JSONObject params);
 	  /**
 	 	 *H组合计划项目投资总金额
 	 	 * */   
 	String geHzhjhSum(JSONObject params);
 	/**
 	 * H组合计划项目投资记录查询
 	 * */
 	List<Map<String, Object>> queryHtzjl(JSONObject params);
 	/**
 	 *H组合计划项目投资记录总数
 	 * */   
 	int getHtzjlCount(JSONObject params);
 	/**
	 	 *H组合计划项目投资记录总金额
	 	 * */   
 	String geHtzjlSum(JSONObject params);
 	
 	/**
 	 * H组合计划项目流标投资记录查询
 	 * */
 	List<Map<String, Object>> queryHlbtzjl(JSONObject params);
 	/**
 	 *H组合计划项目流标投资记录总数
 	 * */   
 	int getHlbtzjlCount(JSONObject params);
	/**
 	 *H组合计划项目流标投资记录总金额
 	 * */  
 	String geHlbtzjlSum(JSONObject params);
 	/**
 	 * H组合计划项目收益发放明细
 	 * */
 	List<Map<String, Object>> queryHsyffmx(JSONObject params);
 	/**
 	 *H组合计划项目收益发放明细记录总数
 	 * */   
 	int getHsyffmxCount(JSONObject params);
 	/**
 	 * H组合计划项目还款明细
 	 * */
 	List<Map<String, Object>> queryHhk(JSONObject params);
 	/**
 	 *H组合计划项目还款明细记录总数
 	 * */   
 	int getHhkCount(JSONObject params);
 	/**
	 * @作者 js  
	 * @方法名 getHplandata  
	 * @功能 TODO 获取H计划总投资和总收益
	 * @param username 用户名
	 * @return
	 */
}
